Всем привет!
Недавно совместно написали Lua-скрипт для QUIK, который шлёт уведомления в Telegrеm.
Решили начать с простого — мониторинг роллирования, когда объём перетекает в следующий контракт,
приходит уведомление с подсказкой нового тикера, чтобы больше не заморачиваться, что забыл про экспирацию.
Всё получилось, работает, бесплатный вариант можно скачать с сайта.
Потом появился скрипт уведомления в Telegrеm — открытие позиции (тикер, направление, количество лотов, цена),
добавление к позиции, частичное закрытие — закрытые лоты и P&L по ним. Полное закрытие позиции — итоговый P&L.
Ну и то, чего давно не хватало — риск-менеджер, задаёшь дневной лимит убытка,
как только суммарный P&L достигает лимита — он сам закрывает позиции, отменяет заявки и
блокирует торговлю до следующего дня.
Trade Journal — Скрипт незаметно работает в фоне и фиксирует каждую вашу сделку, записывает каждое открытие и закрытие позиции в CSV-файл,
считает P&L: сделки, частичные закрытия, развороты. Каждую ночь шлёт сводку дня в Telegram,

require("iuplua")
local interrupted
function OnStop()
interrupted = true
end
--[[
function sleep(n) -- standalone
if n > 0 then
os.execute("ping -n "..
tonumber(n) .." localhost > nul")
end
end
--]]
function main()
local btn1 = iup.button { title = "Show Dialog", }
function btn1:action()
local r = iup.Alarm("", "Main Title doesn't update!", "Exit")
if r == 1 then
interrupted = true
end
end -- btn1:action()
local btn2 = iup.button { title = "Show menu", }
function btn2:action()
local item = iup.item { title = "Exit", }
function item:action()
interrupted = true
end
local menu = iup.menu {
iup.item { title = "Dialog title doesn't update!",
active = "NO", }, item
}:popup(iup.MOUSEPOS, iup.